Residuation and Guarded Rules for Constraint Logic Programming
نویسنده
چکیده
A major difficulty with logic programming is combinatorial explosion: since goals are solved with possibly indeterminate (i.e., branching) reductions, the resulting search trees may grow wildly. Constraint logic programming systems try to avoid combinatorial explosion by building in strong determinate (i.e., non-branching) reduction in the form of constraint simplification. In this paper, we present two concepts, residuation and guarded rules, for further strengthening determinate reduction. Both concepts apply to constraint logic programming in general and yield an operational semantics that coincides with the declarative semantics. Residuation is a control strategy giving priority to determinate reductions. Guarded rules are logical consequences of programs adding otherwise unavailable determinate reductions.
منابع مشابه
Welcome to Constraint Handling Rules
Constraint Handling Rules (CHR) is a declarative concurrent committed-choice constraint logic programming language consisting of guarded rules that transform multisets of relations called constraints until no more change occurs. As an introduction to CHR as a generalpurpose programming language we present some small programs using different programming styles and discuss their properties.
متن کاملEfficient Compilation of Guarded Join-Patterns via Parallel Implementation of Constraint Handling Rules
Parallelism is going mainstream and the demand for programs that scales well with parallelism will become ever more stronger. Hence to develope parallel programs of increasing complexity, comprehensive and efficient high level concurrency abstractions would soon become a necessity in existing mainstream programming languages. Our approach extends from a promising high-level concurrency abstract...
متن کاملSpecialization of Concurrent Guarded Multi-set Transformation Rules
Program transformation and in particular partial evaluation are appealing techniques for declarative programs to improve not only their performance. This paper presents the first step towards developing program transformation techniques for a concurrent constraint programming language where guarded rules rewrite and augment multi-sets of atomic formulae, called Constraint Handling Rules (CHR). ...
متن کاملParallelism, Concurreny and Distribution in Constraint Handling Rules: A Survey (Draft)
Constraint Handling Rules (CHR) is both an effective concurrent declarative programming language and a versatile computational logic formalism. CHR has its roots in constraint logic programming and concurrent constraint programming, but also integrates ideas from multiset transformation and rewriting systems. CHR programs consist of guarded reactive rules that transform multisets of constraints...
متن کاملTheory and Practice of Constraint Handling Rules
Constraint Handling Rules (CHR) are our proposal to allow more exibility and application-oriented customization of constraint systems. CHR are a declarative language extension especially designed for writing user-deened constraints. CHR are essentially a committed-choice language consisting of multi-headed guarded rules that rewrite constraints into simpler ones until they are solved. In this b...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1991